USE [influenza]
GO

/****** Object:  StoredProcedure [dbo].[SP_listaMatrizLab]    Script Date: 01/08/2010 17:50:22 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO


CREATE PROCEDURE [dbo].[SP_listaMatrizLab]
@tipoLab varchar(3),
@estudio varchar(3),
@procedimiento varchar(3),
@tecnica varchar(3),
@resultado varchar(3)

as
Begin
declare @qry VARCHAR(8000)

SET @qry='select tl.tipoLab,le.estudio,lp.procedimiento,lt.tecnica,lr.resultados,al.activo,al.id_adminLab 
from cat_AdminLab al
inner join cat_tipoLab tl on (al.id_lab_tipoLab=tl.id_tipolab)
inner join cat_lab_estudio le on (al.id_lab_Estudio=le.id_estudio)
inner join cat_lab_proc lp on (al.id_lab_proc=lp.id_proc)
inner join cat_lab_tecnica lt on(al.id_lab_tecnica=lt.id_tecnica)
inner join cat_lab_resultados lr on (al.id_lab_resultado=lr.id_resultados)'

if((@tipoLab<>'0')or(@estudio<>'0')or(@procedimiento<>'0')or(@tecnica<>'0')or(@resultado<>'0'))
 begin
    set @qry=@qry+' Where '
 end
 
if(@tipoLab<>'0')
 begin
   set @qry=@qry+'al.id_lab_tipoLab='''+@tipoLab+''''
 end
 
if((@tipoLab='0')and (@estudio<>'0'))
 begin
    set @qry=@qry+'al.id_lab_Estudio='''+@estudio+''''
 end
else if((@tipoLab<>'0')and (@estudio<>'0'))
 begin
    set @qry=@qry+'and al.id_lab_Estudio='''+@estudio+''''
 end 

if((@tipoLab='0')and(@estudio='0')and(@procedimiento<>'0'))
 begin
    set @qry=@qry+'al.id_lab_proc='''+@procedimiento+''''
 end
else if(((@tipoLab<>'0')or(@estudio<>'0'))and(@procedimiento<>'0'))
 begin
    set @qry=@qry+'and al.id_lab_proc='''+@procedimiento+''''
 end

if((@tipoLab='0')and(@estudio='0')and(@procedimiento='0')and (@tecnica<>'0'))
 begin
    set @qry=@qry+'al.id_lab_tecnica='''+@tecnica+''''
 end
else if(((@tipoLab<>'0')or(@estudio<>'0')or(@procedimiento<>'0'))and(@tecnica<>'0'))
 begin
    set @qry=@qry+'and al.id_lab_tecnica='''+@tecnica+''''
 end
 
if((@tipoLab='0')and(@estudio='0')and(@procedimiento='0')and(@tecnica='0') and (@resultado<>'0'))
 begin
    set @qry=@qry+'al.id_lab_resultado='''+@resultado+''''
 end
else if(((@tipoLab<>'0')or(@estudio<>'0')or(@procedimiento<>'0')or(@tecnica<>'0'))and(@resultado<>'0'))
 begin
    set @qry=@qry+'and al.id_lab_resultado='''+@resultado+''''
 end 
 
set @qry=@qry+' Order by tl.tipoLab,le.estudio,lp.procedimiento,lt.tecnica,lr.resultados'


exec(@qry)

End
GO

